#define _CRT_SECURE_NO_WARNINGS 1
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<string.h>
int main()
{
	int ch = 0;
	//输入一个 Ctrl + z 就会获取EOF 代码结束
	// EOF - end of file -> -1
	while ((ch = getchar()) != EOF)
		putchar(ch);
	return 0;
}


//int main()
//{
// int i = 0;
// while (i <=9)
// {
// i++;//在i=5时，小于等10满足，i++ == 6，从而继续输出打印6，跳出死循环
// if (5 == i)
// continue;//如果 i++ 在printff后面，在 i== 5 时跳到while（1<=10）,继续判断5是否小于等于10.满足，继续判断5 == 5，从而陷入死循环。
//作用就是中循环中本次循环continue 后面的代码，直接跳转到循环判断部分，进行下一次循坏的入口判断
// printf("%d\n", i);
//
// }
// return 0;
//}


//int main()
//{
// int i = 1;
// while (i<=10)
// {
// if (5 == i)
// break;
// else
// printf("%d\n",i);
// i++;
// }
// return 0;
//}


////int main()
//{
// int n = 1;
// int m = 2;
// switch (n)
// {
// case 1:
// m++;
// case 2:
// n++;
// case 3:
// switch (n)
// {
// case 1:
// n++;
// case 2:
// n++,m++;
// break;
// }
// case 4:
// m++;
// break;
// default:
// break;
// }
// printf("m=%d,n=%d\n",m,n);
// return 0;
//}


//int main()
//{
// int day = 0;
// int n = 1;
// scanf("%d",&day);
// switch (day)//()里一定要是整形表达式
// {
// case 1://case后面必须是整形常量表达式
// if (1 == n)
// printf("hh\n");
// case 2:
// case 3:
// case 4:
// case 5:
// printf("工作日\n");
// break;
// case 6:
// case 7:
// printf("休息日\n");
// break;
// default:
// printf("无效输入\n");
// break;
// }
/*if (1 == day)
printf("星期1\n");
else if (2 == day)
printf("星期2\n");
else if (3 == day)
printf("星期3\n");
else if (4 == day)
printf("星期4\n");
else if (5 == day)
printf("星期5\n");
else if (6 == day)
printf("星期6\n");
else if (7 == day)
printf("星期7\n");*/
// return 0;
//}


//int main()
//{
// int a = 1;
// while (a <= 100)
// {
// if (1==a%2)
// printf("奇数=%d\n",a);
// a++;
// }
// return 0;
//}


//int main()
//{
// int num = 4;
// if (5 == num)
// {
// printf("呵呵\n");
// }
// return 0;
//}


//int main()
//{
// int a = 0;
// int b = 2;
// if (a==1)//这个条件满足了，才能进行下一个语句
//所以结果为空白
/* if (b == 2)
printf("hehe\n");*/
//上下的if和else是搭配的（就近原则）
// else
// printf("haha\n");
// return 0;
//}


//在c语言中如何判断真假
//0表示假，非零表示真

//c语言是一门 结构化 的程序设计语言
// 1、顺序结构
// 2、选择结构
// 3、循环结构

/*int main()
{
int age = 10;
if (age < 18)
{printf("未成年\n");
printf("不能谈恋爱\n");
}*/
//else
// {
// if (18 <= age && age < 28)
// printf("青年\n");
//
// else if (age >= 28 && age < 50)
// printf("壮年\n");
// else if (age >= 50 && age < 90)
// printf("老年\n");
// else
// printf("老不死\n");
// }
/*else if (18 <= age && age < 28)
printf("青年\n");
else if (age>=28 && age < 50)
printf("壮年\n");
else if (age >= 50 && age < 90)
printf("老年\n");
else
printf("老不死\n");*/
//if (age < 18)
//printf("未成年\n");
// return 0;
//}


//结构体
// 人 - 名字 - 性别 - 年龄 - 身高 -身份证号码
// 书 - 书名 - 作者 - 出版社 - 定价 - 书号
//复杂对象 - 结构体 - 使我们自己创造出来的一种类型

//struct book
//{
// char name[20];//C语言设计
// short price;//55
//};


//int main()
//{
// //利用结构体类型 - 创造一个该类型的变量
//struct book b1 = {"C语言程序设计",55};
//struct book* pb = &b1;
//利用pb打印出我的书名和价格
// . 结构体变量.成员
// -> 结构体指针->成员
/*printf("%s\n",pb->name);
printf("%d\n", pb->price);*/
//printf("书名：%s\n",(*pb).name);
//printf("价格：%d\n", (*pb).price);
//printf("书名：%s\n",b1.name);
//strcpy(b1.name,"c++" );// strcpy(库函数，要引用string.h) - string copy 字符串拷贝
//printf("书名=%s\n",pb->name);
//b1.price = 15;//price是个变量可以直接赋值改变
//printf("价格：%d\n",b1.price);
// return 0;
//}

//int main()
//{
// double d = 3.14;
// printf("%d\n", sizeof(d));//类型 8字节
// double* pd = &d;
// printf("%d\n",sizeof(pd));//指针变量大小只与电脑多少位系统有关：32位系统，4字节；64是8，与函数类型无关
// //int a = 10;//申请了4个字节的空间
// //int* p = &a;//p是一个变量 - 指针变量
// //printf("%p\n",p);
// //*p = 20;//* - 解引用操作符 / 间接访问操作符
// //printf("a=%d\n",a);
// return 0;
//}